fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
↳ QTRS
↳ DependencyPairsProof
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
FIB1(X, Y) → ADD(X, Y)
FIB(N) → FIB1(s(0), s(0))
FIB1(X, Y) → FIB1(Y, add(X, Y))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
ADD(s(X), Y) → ADD(X, Y)
FIB(N) → SEL(N, fib1(s(0), s(0)))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
FIB1(X, Y) → ADD(X, Y)
FIB(N) → FIB1(s(0), s(0))
FIB1(X, Y) → FIB1(Y, add(X, Y))
SEL(s(N), cons(X, XS)) → SEL(N, XS)
ADD(s(X), Y) → ADD(X, Y)
FIB(N) → SEL(N, fib1(s(0), s(0)))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
SEL(s(N), cons(X, XS)) → SEL(N, XS)
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL(s(N), cons(X, XS)) → SEL(N, XS)
The value of delta used in the strict ordering is 1/8.
POL(cons(x1, x2)) = (13/4)x_2
POL(s(x1)) = 1/4 + (9/4)x_1
POL(SEL(x1, x2)) = (1/2)x_1 + (15/4)x_2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
ADD(s(X), Y) → ADD(X, Y)
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ADD(s(X), Y) → ADD(X, Y)
The value of delta used in the strict ordering is 1/2.
POL(s(x1)) = 1/4 + (7/2)x_1
POL(ADD(x1, x2)) = (2)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
FIB1(X, Y) → FIB1(Y, add(X, Y))
fib(N) → sel(N, fib1(s(0), s(0)))
fib1(X, Y) → cons(X, fib1(Y, add(X, Y)))
add(0, X) → X
add(s(X), Y) → s(add(X, Y))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, XS)